//
//  MineViewController.m
//  dd
//
//  Created by hanweiguang on 2019/1/30.
//  Copyright © 2019年 hanweiguang. All rights reserved.
//

#import "MineViewController.h"
#import "BookCell.h"
#import "BookModel.h"
#import "AdCell.h"
#import "AdModel.h"
#import "UITableView+FDTemplateLayoutCell.h"
#import "TestCell.h"
#import "MyCell.h"
#import "UIColor+extension.h"

@interface MineViewController ()

@property(nonatomic, strong) NSMutableArray *dataArray;// 数据源
@property(nonatomic, strong) NSMutableArray *adArray; // 广告cell上面的数据

@property(nonatomic, strong) UITableView *tableView;


@end

@implementation MineViewController


- (void)viewDidLoad {
    [super viewDidLoad];
    [self createData];
    [self createAdvertisementData];
    self.tableView =  [[UITableView alloc] initWithFrame:CGRectMake(0, 0, KScreenWidth, KScreenHeight)];
    self.tableView.delegate = self;
    self.tableView.dataSource = self;
    self.tableView.separatorStyle = UITableViewCellSeparatorStyleNone; //不显示下划线
    self.tableView.estimatedRowHeight = 400;//预算行高
//    self.tableView.fd_debugLogEnabled = YES;//开启log打印高度
//    [self.tableView registerClass:[TestCell class] forCellReuseIdentifier:@"cellID"];//注册cell
    [self.tableView registerClass:[MyCell class] forCellReuseIdentifier:@"cellID"];//注册cell
//    [self.tableView registerClass:[BookCell class] forCellReuseIdentifier:@"cellID"];//注册cell
    [self.view addSubview:self.tableView];


}


#pragma mark  获取列表数量

- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {
    return self.dataArray.count;
//    return self.dataArray.count + 1;
}


#pragma mark 获取每个cell 根据下标来显示对应的 cell

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {


//    if (indexPath.row == 0) {
//        // 广告cell
//        static NSString *adCellID = @"adCell";
//        AdCell *cell = [tableView dequeueReusableCellWithIdentifier:adCellID];
//        if (nil == cell) {
//            cell = [[AdCell alloc] initWithStyle:UITableViewCellStyleSubtitle reuseIdentifier:adCellID];
//        }
//        cell.adArray = self.adArray;
//
//        return cell;
//    }

    MyCell *cell = [tableView dequeueReusableCellWithIdentifier:@"cellID"];
//    TestCell *cell = [tableView dequeueReusableCellWithIdentifier:@"cellID"];
//    [cell config:self.dataArray[(NSUInteger) (indexPath.row)]];

//    [cell config:self.dataArray[(NSUInteger) (indexPath.row -1)]];
    return cell;


}


#pragma mark 自动计算每个cell 的高度

- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath {
//
//    //返回计算好的高度
    return [tableView fd_heightForCellWithIdentifier:@"cellID" cacheByIndexPath:indexPath configuration:^(id cell) {
//        BookModel *item = self.dataArray[(NSUInteger) indexPath.row]; //得到每个item
//        [cell config:item];
    }];

//    return  200;
    //返回计算好的高度


}


// 创建数据源
- (void)createData {
    _dataArray = [[NSMutableArray alloc] init];
//    // 读取plist文件的内容
    NSString *path = [[NSBundle mainBundle] pathForResource:@"bookData.plist" ofType:nil];
//    // plist文件最外层是一个数组
    NSArray *array = [NSArray arrayWithContentsOfFile:path];
    NSLog(@"%@", array);
    // 将数据转换为对象的方式
//     dict[@"title"] == [dict objectForKey:@"title"]
    for (NSDictionary *dict in array) {
        BookModel *model = [[BookModel alloc] init];
        model.name = dict[@"title"];
        model.detail = dict[@"detail"];
        model.icon = dict[@"icon"];
        model.price = dict[@"price"];
        [_dataArray addObject:model];
    }
}


// 创建广告cell对应的数据
- (void)createAdvertisementData {
    // 数据源数组
    _adArray = [NSMutableArray array];
    for (int i = 0; i < 4; i++) {
        AdModel *model = [[AdModel alloc] init];
        model.imageName = [NSString stringWithFormat:@"image%d", i];
        model.title = [NSString stringWithFormat:@"第%d个标题", i + 1];
        [_adArray addObject:model];
    }

}


@end
